package com.smart.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.smart.common.domain.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author zhanghong
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel("项目使用控制响应模型")
public class ProjectUseControlVO extends BaseVO implements Serializable {
    @ApiModelProperty("项目id")
    private Long projectId;
    @ApiModelProperty("项目名称")
    private String projectName;
    @ApiModelProperty("项目编号")
    private String projectNumber;
    @ApiModelProperty("施工状态 ref字典表-施工状态 UN_START未开、RUNNING在施、STOP停工、WAIT_ACCEPT完工待验、FINISH完工、DIE死活")
    private String constructionStatus;
    @ApiModelProperty("街道编码")
    private String streetCode;
    @ApiModelProperty("街道名称")
    private String streetName;
    @ApiModelProperty("详细地址")
    private String address;
    @ApiModelProperty("工程类型 ref字典表-工程类型 COMMERCIAL_HOUSING房建-商品房、AFFORDABLE_HOUSING房建-保障房、PUBLIC_BUILDINGS房建-公共建筑、INDUSTRIAL_BUILDINGS房建-工业厂房、MUNICIPAL市政、DECORATION装修、HOUSE_ALTERATION老旧小区改造")
    private String engineeringType;
    @ApiModelProperty("质量监督注册号")
    private String qualityRegistrationNumber;

    @ApiModelProperty("人员管理开通状态 OPENED 已开通，UN_OPEN未开通")
    private String manageOpenStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("人员管理有效期至")
    private Date manageOpenExpire;
    @ApiModelProperty("数据提报开通状态 OPENED 已开通，UN_OPEN未开通")
    private String reportOpenStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("数据提报有效期至")
    private Date reportOpenExpire;
    @ApiModelProperty("动火作业开通状态 OPENED 已开通，UN_OPEN未开通")
    private String hotWorkOpenStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("动火作业有效期至")
    private Date hotWorkOpenExpire;
    @ApiModelProperty("作业次数上限")
    private Long hotWorkMax;
    @ApiModelProperty("可作业次数")
    private Long hotWorkAvailableNum;


    @ApiModelProperty("设备列表")
    private List<String> equList;

}
